package com.suyuan.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class FeedingInforExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FeedingInforExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andFeedingidIsNull() {
            addCriterion("FeedingID is null");
            return (Criteria) this;
        }

        public Criteria andFeedingidIsNotNull() {
            addCriterion("FeedingID is not null");
            return (Criteria) this;
        }

        public Criteria andFeedingidEqualTo(Integer value) {
            addCriterion("FeedingID =", value, "feedingid");
            return (Criteria) this;
        }

        public Criteria andFeedingidNotEqualTo(Integer value) {
            addCriterion("FeedingID <>", value, "feedingid");
            return (Criteria) this;
        }

        public Criteria andFeedingidGreaterThan(Integer value) {
            addCriterion("FeedingID >", value, "feedingid");
            return (Criteria) this;
        }

        public Criteria andFeedingidGreaterThanOrEqualTo(Integer value) {
            addCriterion("FeedingID >=", value, "feedingid");
            return (Criteria) this;
        }

        public Criteria andFeedingidLessThan(Integer value) {
            addCriterion("FeedingID <", value, "feedingid");
            return (Criteria) this;
        }

        public Criteria andFeedingidLessThanOrEqualTo(Integer value) {
            addCriterion("FeedingID <=", value, "feedingid");
            return (Criteria) this;
        }

        public Criteria andFeedingidIn(List<Integer> values) {
            addCriterion("FeedingID in", values, "feedingid");
            return (Criteria) this;
        }

        public Criteria andFeedingidNotIn(List<Integer> values) {
            addCriterion("FeedingID not in", values, "feedingid");
            return (Criteria) this;
        }

        public Criteria andFeedingidBetween(Integer value1, Integer value2) {
            addCriterion("FeedingID between", value1, value2, "feedingid");
            return (Criteria) this;
        }

        public Criteria andFeedingidNotBetween(Integer value1, Integer value2) {
            addCriterion("FeedingID not between", value1, value2, "feedingid");
            return (Criteria) this;
        }

        public Criteria andAnimalidIsNull() {
            addCriterion("AnimalID is null");
            return (Criteria) this;
        }

        public Criteria andAnimalidIsNotNull() {
            addCriterion("AnimalID is not null");
            return (Criteria) this;
        }

        public Criteria andAnimalidEqualTo(Integer value) {
            addCriterion("AnimalID =", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidNotEqualTo(Integer value) {
            addCriterion("AnimalID <>", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidGreaterThan(Integer value) {
            addCriterion("AnimalID >", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidGreaterThanOrEqualTo(Integer value) {
            addCriterion("AnimalID >=", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidLessThan(Integer value) {
            addCriterion("AnimalID <", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidLessThanOrEqualTo(Integer value) {
            addCriterion("AnimalID <=", value, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidIn(List<Integer> values) {
            addCriterion("AnimalID in", values, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidNotIn(List<Integer> values) {
            addCriterion("AnimalID not in", values, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidBetween(Integer value1, Integer value2) {
            addCriterion("AnimalID between", value1, value2, "animalid");
            return (Criteria) this;
        }

        public Criteria andAnimalidNotBetween(Integer value1, Integer value2) {
            addCriterion("AnimalID not between", value1, value2, "animalid");
            return (Criteria) this;
        }

        public Criteria andFeedidIsNull() {
            addCriterion("FeedID is null");
            return (Criteria) this;
        }

        public Criteria andFeedidIsNotNull() {
            addCriterion("FeedID is not null");
            return (Criteria) this;
        }

        public Criteria andFeedidEqualTo(Integer value) {
            addCriterion("FeedID =", value, "feedid");
            return (Criteria) this;
        }

        public Criteria andFeedidNotEqualTo(Integer value) {
            addCriterion("FeedID <>", value, "feedid");
            return (Criteria) this;
        }

        public Criteria andFeedidGreaterThan(Integer value) {
            addCriterion("FeedID >", value, "feedid");
            return (Criteria) this;
        }

        public Criteria andFeedidGreaterThanOrEqualTo(Integer value) {
            addCriterion("FeedID >=", value, "feedid");
            return (Criteria) this;
        }

        public Criteria andFeedidLessThan(Integer value) {
            addCriterion("FeedID <", value, "feedid");
            return (Criteria) this;
        }

        public Criteria andFeedidLessThanOrEqualTo(Integer value) {
            addCriterion("FeedID <=", value, "feedid");
            return (Criteria) this;
        }

        public Criteria andFeedidIn(List<Integer> values) {
            addCriterion("FeedID in", values, "feedid");
            return (Criteria) this;
        }

        public Criteria andFeedidNotIn(List<Integer> values) {
            addCriterion("FeedID not in", values, "feedid");
            return (Criteria) this;
        }

        public Criteria andFeedidBetween(Integer value1, Integer value2) {
            addCriterion("FeedID between", value1, value2, "feedid");
            return (Criteria) this;
        }

        public Criteria andFeedidNotBetween(Integer value1, Integer value2) {
            addCriterion("FeedID not between", value1, value2, "feedid");
            return (Criteria) this;
        }

        public Criteria andCompidIsNull() {
            addCriterion("CompID is null");
            return (Criteria) this;
        }

        public Criteria andCompidIsNotNull() {
            addCriterion("CompID is not null");
            return (Criteria) this;
        }

        public Criteria andCompidEqualTo(Integer value) {
            addCriterion("CompID =", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidNotEqualTo(Integer value) {
            addCriterion("CompID <>", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidGreaterThan(Integer value) {
            addCriterion("CompID >", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidGreaterThanOrEqualTo(Integer value) {
            addCriterion("CompID >=", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidLessThan(Integer value) {
            addCriterion("CompID <", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidLessThanOrEqualTo(Integer value) {
            addCriterion("CompID <=", value, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidIn(List<Integer> values) {
            addCriterion("CompID in", values, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidNotIn(List<Integer> values) {
            addCriterion("CompID not in", values, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidBetween(Integer value1, Integer value2) {
            addCriterion("CompID between", value1, value2, "compid");
            return (Criteria) this;
        }

        public Criteria andCompidNotBetween(Integer value1, Integer value2) {
            addCriterion("CompID not between", value1, value2, "compid");
            return (Criteria) this;
        }

        public Criteria andAreaidIsNull() {
            addCriterion("AreaID is null");
            return (Criteria) this;
        }

        public Criteria andAreaidIsNotNull() {
            addCriterion("AreaID is not null");
            return (Criteria) this;
        }

        public Criteria andAreaidEqualTo(Integer value) {
            addCriterion("AreaID =", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidNotEqualTo(Integer value) {
            addCriterion("AreaID <>", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidGreaterThan(Integer value) {
            addCriterion("AreaID >", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidGreaterThanOrEqualTo(Integer value) {
            addCriterion("AreaID >=", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidLessThan(Integer value) {
            addCriterion("AreaID <", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidLessThanOrEqualTo(Integer value) {
            addCriterion("AreaID <=", value, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidIn(List<Integer> values) {
            addCriterion("AreaID in", values, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidNotIn(List<Integer> values) {
            addCriterion("AreaID not in", values, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidBetween(Integer value1, Integer value2) {
            addCriterion("AreaID between", value1, value2, "areaid");
            return (Criteria) this;
        }

        public Criteria andAreaidNotBetween(Integer value1, Integer value2) {
            addCriterion("AreaID not between", value1, value2, "areaid");
            return (Criteria) this;
        }

        public Criteria andFoodunitIsNull() {
            addCriterion("FoodUnit is null");
            return (Criteria) this;
        }

        public Criteria andFoodunitIsNotNull() {
            addCriterion("FoodUnit is not null");
            return (Criteria) this;
        }

        public Criteria andFoodunitEqualTo(String value) {
            addCriterion("FoodUnit =", value, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitNotEqualTo(String value) {
            addCriterion("FoodUnit <>", value, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitGreaterThan(String value) {
            addCriterion("FoodUnit >", value, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitGreaterThanOrEqualTo(String value) {
            addCriterion("FoodUnit >=", value, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitLessThan(String value) {
            addCriterion("FoodUnit <", value, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitLessThanOrEqualTo(String value) {
            addCriterion("FoodUnit <=", value, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitLike(String value) {
            addCriterion("FoodUnit like", value, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitNotLike(String value) {
            addCriterion("FoodUnit not like", value, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitIn(List<String> values) {
            addCriterion("FoodUnit in", values, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitNotIn(List<String> values) {
            addCriterion("FoodUnit not in", values, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitBetween(String value1, String value2) {
            addCriterion("FoodUnit between", value1, value2, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodunitNotBetween(String value1, String value2) {
            addCriterion("FoodUnit not between", value1, value2, "foodunit");
            return (Criteria) this;
        }

        public Criteria andFoodamountIsNull() {
            addCriterion("FoodAmount is null");
            return (Criteria) this;
        }

        public Criteria andFoodamountIsNotNull() {
            addCriterion("FoodAmount is not null");
            return (Criteria) this;
        }

        public Criteria andFoodamountEqualTo(Float value) {
            addCriterion("FoodAmount =", value, "foodamount");
            return (Criteria) this;
        }

        public Criteria andFoodamountNotEqualTo(Float value) {
            addCriterion("FoodAmount <>", value, "foodamount");
            return (Criteria) this;
        }

        public Criteria andFoodamountGreaterThan(Float value) {
            addCriterion("FoodAmount >", value, "foodamount");
            return (Criteria) this;
        }

        public Criteria andFoodamountGreaterThanOrEqualTo(Float value) {
            addCriterion("FoodAmount >=", value, "foodamount");
            return (Criteria) this;
        }

        public Criteria andFoodamountLessThan(Float value) {
            addCriterion("FoodAmount <", value, "foodamount");
            return (Criteria) this;
        }

        public Criteria andFoodamountLessThanOrEqualTo(Float value) {
            addCriterion("FoodAmount <=", value, "foodamount");
            return (Criteria) this;
        }

        public Criteria andFoodamountIn(List<Float> values) {
            addCriterion("FoodAmount in", values, "foodamount");
            return (Criteria) this;
        }

        public Criteria andFoodamountNotIn(List<Float> values) {
            addCriterion("FoodAmount not in", values, "foodamount");
            return (Criteria) this;
        }

        public Criteria andFoodamountBetween(Float value1, Float value2) {
            addCriterion("FoodAmount between", value1, value2, "foodamount");
            return (Criteria) this;
        }

        public Criteria andFoodamountNotBetween(Float value1, Float value2) {
            addCriterion("FoodAmount not between", value1, value2, "foodamount");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeIsNull() {
            addCriterion("FeedingTime is null");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeIsNotNull() {
            addCriterion("FeedingTime is not null");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeEqualTo(Date value) {
            addCriterion("FeedingTime =", value, "feedingtime");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeNotEqualTo(Date value) {
            addCriterion("FeedingTime <>", value, "feedingtime");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeGreaterThan(Date value) {
            addCriterion("FeedingTime >", value, "feedingtime");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("FeedingTime >=", value, "feedingtime");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeLessThan(Date value) {
            addCriterion("FeedingTime <", value, "feedingtime");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeLessThanOrEqualTo(Date value) {
            addCriterion("FeedingTime <=", value, "feedingtime");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeIn(List<Date> values) {
            addCriterion("FeedingTime in", values, "feedingtime");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeNotIn(List<Date> values) {
            addCriterion("FeedingTime not in", values, "feedingtime");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeBetween(Date value1, Date value2) {
            addCriterion("FeedingTime between", value1, value2, "feedingtime");
            return (Criteria) this;
        }

        public Criteria andFeedingtimeNotBetween(Date value1, Date value2) {
            addCriterion("FeedingTime not between", value1, value2, "feedingtime");
            return (Criteria) this;
        }

        public Criteria andEmployeeidIsNull() {
            addCriterion("EmployeeID is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeidIsNotNull() {
            addCriterion("EmployeeID is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeidEqualTo(Integer value) {
            addCriterion("EmployeeID =", value, "employeeid");
            return (Criteria) this;
        }

        public Criteria andEmployeeidNotEqualTo(Integer value) {
            addCriterion("EmployeeID <>", value, "employeeid");
            return (Criteria) this;
        }

        public Criteria andEmployeeidGreaterThan(Integer value) {
            addCriterion("EmployeeID >", value, "employeeid");
            return (Criteria) this;
        }

        public Criteria andEmployeeidGreaterThanOrEqualTo(Integer value) {
            addCriterion("EmployeeID >=", value, "employeeid");
            return (Criteria) this;
        }

        public Criteria andEmployeeidLessThan(Integer value) {
            addCriterion("EmployeeID <", value, "employeeid");
            return (Criteria) this;
        }

        public Criteria andEmployeeidLessThanOrEqualTo(Integer value) {
            addCriterion("EmployeeID <=", value, "employeeid");
            return (Criteria) this;
        }

        public Criteria andEmployeeidIn(List<Integer> values) {
            addCriterion("EmployeeID in", values, "employeeid");
            return (Criteria) this;
        }

        public Criteria andEmployeeidNotIn(List<Integer> values) {
            addCriterion("EmployeeID not in", values, "employeeid");
            return (Criteria) this;
        }

        public Criteria andEmployeeidBetween(Integer value1, Integer value2) {
            addCriterion("EmployeeID between", value1, value2, "employeeid");
            return (Criteria) this;
        }

        public Criteria andEmployeeidNotBetween(Integer value1, Integer value2) {
            addCriterion("EmployeeID not between", value1, value2, "employeeid");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("Remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("Remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("Remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("Remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("Remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("Remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("Remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("Remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("Remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("Remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("Remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("Remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("Remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("Remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}